<template>
    <div class="common">
        <el-form 
            :model="form" 
            :rules="rules" 
            ref="myform" 
            label-width="100px" 
            class="myform">
            <el-form-item label="用户名" prop="username">
                <el-input v-model="form.username"></el-input>
            </el-form-item>
            <el-form-item label="手机号" prop="mobile">
                <el-input v-model="form.mobile"></el-input>
            </el-form-item>
            <el-form-item label="密码" prop="password">
                <el-input v-model="form.password"></el-input>
            </el-form-item>
            <el-form-item>
                <el-button type="primary" class="width100" @click="gotoRegister">立即注册</el-button>
            </el-form-item>
        </el-form>
    </div>
</template>

<script>
import {roleList} from "@/utils"
import {registerAjax} from "@/api"
export default {
  data(){
    return{
      form:{
        username:"",
        password:"",
        roleid:"1"
     },
      roleList,
       rules:{   // 表单校验 
                mobile:[
                    {required:true,message:"请输入手机号码",trigger:'blur'},
                    {
                        validator:(rule, value, callback)=>{
                            var mobileReg = /^1(3|5|6|7|8|9)\d{9}$/
                            if(mobileReg.test(value)){
                                callback()
                            }else{
                                callback(new Error("请输入正确的手机号码"));
                            }
                        },
                        trigger:'change'
                    }
                ],
                password:[
                    {required:true,message:"请输入登录密码",trigger:'blur'},
                    {
                        validator:(rule, value, callback)=>{
                            var passReg = /^[A-Za-z0-9]{4,12}$/
                            if(value.length<4){
                                callback(new Error("密码长度至少4位"));
                            }else if(value.length>12){
                                callback(new Error("密码长度最多12位"));
                            }else if(!passReg.test(value)){
                                callback(new Error("请输入正确的密码"));
                                
                            }else{
                                 callback()
                            }
                        },
                        trigger:'change'
                    }
                ],
                roleid:[
                  {required:true,message:"请输入身份",trigger:'change'},
                ],
                 username:[
                  {required:true,message:"请输入姓名",trigger:'blur'},
                ],

      }
    }
    
  },
  methods:{
    gotoRegister(){
     this.$refs.myform.validate(valid=>{
       if(valid){
        registerAjax(this.form)
        .then(res=>{
          if(res.type){
            this.$router.push({name:"index"})  //添加成功。
          }
        })
       }else{
        return false
       }
     })
    }
  }
}
</script>
<style lang="scss" scoped>
.myform {
  padding-right: 50px;
  padding-top: 20px;
}
.width100 {
  width: 100%;
}
.mycaptcha {
  ::v-deep .el-form-item__content {
    display: flex;
  }
}
</style>